package com.example.design.iterator.test1;

import java.util.Hashtable;
import java.util.Iterator;

/**
 * 迭代器组合模式，模拟迭代咖啡菜单
 */
public class DoubleDragonMenu implements Menu{
    Hashtable menuItems = new Hashtable();

    public DoubleDragonMenu(){
        menuItems.put("双截龙--Billy",new MenuItem("双截龙--Billy",
                "奥修噶",true,20));
        menuItems.put("双截龙--Abobo",new MenuItem("双截龙--Abobo",
                "一库",true,20));
    }

    public void addItem(String name, String description, boolean vegetarian, double price){
        menuItems.put(name,new MenuItem(name,description,vegetarian,price));
    }

    /**
     * 实现 createIterator 方法，不是取得整个Hashtable的值，而是取得值的部分迭代器
     * @return
     */
    public Iterator createIterator(){
        return menuItems.values().iterator();
    }
}
